home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile.h" T7 M7={NULL,0,0}; T675 M675={0,NULL,0,0}; T441 M441=NULL; T830 M830=NULL; T479 M479={0}; T309 M309={NULL,0}; T467 M467={0,0}; T670 M670=0; T306 M306={0}; T927 M927={NULL,0,0}; T52 M52={NULL,0,0,0}; int r6_ix_not(int C){ int R=0; /*IF*/if (C) { } else { R=1; } /*FI*/return R; } char r3to_lower(char C){ char R=0; /*IF*/if ((((unsigned char)C))<(65)) { R=C; } else if ((((unsigned char)C))>(90)) { R=C; } else { R=((char)((((unsigned char)C))+(32))); } /*FI*/return R; } int r3is_digit(char C){ int R=0; {int z1=C; if(((48<=z1)&&(z1<=57))){ R=1; } } return R; } char r3to_upper(char C){ char R=0; /*IF*/if ((((unsigned char)C))<(97)) { R=C; } else if ((((unsigned char)C))>(122)) { R=C; } else { R=((char)((((unsigned char)C))-(32))); } /*FI*/return R; } int r3is_letter(char C){ int R=0; {int z1=C; if(((65<=z1)&&(z1<=90))||((97<=z1)&&(z1<=122))){ R=1; } } return R; } void r400set_all_with(T400 C,T0* a1,int a2){ int _i=0; _i=a2; while (!((_i)<(0))) { (C)[_i]=(a1); _i=(_i)-(1); } } int r400equal_like(T0* a1,T0* a2){ int R=0; /*IF*//*AF*//*AF*/if ((a1)==((void*)(a2))) { R=1; } else if (((a1)==((void*)(NULL)))||((a2)==((void*)(NULL)))) { } else { R=r7is_equal(((T7*)a1),a2); } /*FI*/return R; } int r400index_of(T400 C,T0* a1,int a2){ int R=0; while (!(((R)>(a2))||(r400equal_like(a1,(C)[R])))) { R=(R)+(1); } return R; } int r9fast_memcmp(T9 C,T9 a1,int a2){ int R=0; int _i=0; R=((C)[0])==((a1)[0]); _i=(a2)-(1); while (!(((_i)==(0))||(!(R)))) { R=((C)[_i])==((a1)[_i]); _i=(_i)-(1); } return R; } int r9fast_index_of(T9 C,char a1,int a2){ int R=0; while (!(((R)>(a2))||((a1)==((C)[R])))) { R=(R)+(1); } return R; } void r9copy_from(T9 C,T9 a1,int a2){ int _i=0; _i=a2; while (!((_i)<(0))) { (C)[_i]=((a1)[_i]); _i=(_i)-(1); } } T9 r9realloc(T9 C,int a1,int a2){ T9 R=NULL; R=calloc(a2,sizeof(char)); r9copy_from(R,C,(a1)-(1)); return R; } void r7extend(T7* C,char a1){ int _new_capacity=0; /*IF*/if (((((T7*)C))->_capacity/*8*/)>((((T7*)C))->_count/*4*/)) { } else if (((((T7*)C))->_capacity/*8*/)==(0)) { C->_capacity=32; C->_storage=calloc((((T7*)C))->_capacity/*8*/,sizeof(char)); } else { _new_capacity=(2)*((((T7*)C))->_capacity/*8*/); C->_storage=r9realloc((((T7*)C))->_storage/*0*/,(((T7*)C))->_capacity/*8*/,_new_capacity); C->_capacity=_new_capacity; } /*FI*/C->_count=((((T7*)C))->_count/*4*/)+(1); /*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]=(a1); /*]*/ } void r7set_last(T7* C,char a1){ /*IF*/if ((((((T7*)C))->_count/*4*/)==(0))||((/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]/*)*/)!=(a1))) { r7extend(C,a1); } /*FI*/} void r7to_lower(T7* C){ int _i=0; _i=(((T7*)C))->_count/*4*/; while (!((_i)==(0))) { /*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]=(r3to_lower(/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]/*)*/)); /*]*/ _i=(_i)-(1); } } void r7remove_between(T7* C,int a1,int a2){ int _i=0; _i=a2; while (!((_i)>=((((T7*)C))->_count/*4*/))) { /*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(((a1)+(_i))-(a2))-(1)]=(/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/); /*]*/ _i=(_i)+(1); } C->_count=((((T7*)C))->_count/*4*/)-(((a2)-(a1))+(1)); } void r7make(T7* C,int a1){ /*IF*/if ((a1)>(0)) { /*IF*/if (((((T7*)C))->_capacity/*8*/)<(a1)) { C->_storage=calloc(a1,sizeof(char)); C->_capacity=a1; } /*FI*/} /*FI*/C->_count=0; } void* r7to_external(T7* C){ void* R=0; /*IF*/if (((((T7*)C))->_capacity/*8*/)>((((T7*)C))->_count/*4*/)) { C->_count=((((T7*)C))->_count/*4*/)+(1); /*IF*/if ((/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]/*)*/)!=('\0')) { /*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]=('\0'); /*]*/ } /*FI*/} else { r7extend(C,'\0'); } /*FI*/C->_count=((((T7*)C))->_count/*4*/)-(1); R=((void*)(((T7*)C))->_storage/*0*/); return R; } /*No:STRING.item*/ void r7remove_first(T7* C,int a1){ /*IF*/if ((a1)>(0)) { r7remove_between(C,1,a1); } /*FI*/} /*No:STRING.clear*/ /*No:STRING.storage*/ T0* r7twin(T7* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T7*)R)=M7; r7copy(((T7*)R),((T0*)C)); return R; } int r7is_equal(T7* C,T0* a1){ int R=0; /*IF*/if ((C)==((void*)(a1))) { R=1; } else if (((((T7*)C))->_count/*4*/)==((((T7*)((T7*)a1)))->_count/*4*/)) { /*IF*/if (((((T7*)C))->_count/*4*/)>(0)) { R=r9fast_memcmp((((T7*)C))->_storage/*0*/,(((T7*)((T7*)a1)))->_storage/*0*/,(((T7*)C))->_count/*4*/); } else { R=1; } /*FI*/} /*FI*/return R; } char r7last(T7* C){ char R=0; R=/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]/*)*/; return R; } /*No:STRING.capacity*/ int r7has_suffix(T7* C,T0* a1){ int R=0; int _i2=0; int _i1=0; /*IF*/if (((((T7*)((T7*)a1)))->_count/*4*/)<=((((T7*)C))->_count/*4*/)) { _i1=(((((T7*)C))->_count/*4*/)-((((T7*)((T7*)a1)))->_count/*4*/))+(1); _i2=1; while (!((((_i1)>((((T7*)C))->_count/*4*/))||((_i2)>((((T7*)((T7*)a1)))->_count/*4*/)))||((/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(_i1)-(1)]/*)*/)!=(/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i2)-(1)]/*)*/)))) { _i1=(_i1)+(1); _i2=(_i2)+(1); } R=(_i1)>((((T7*)C))->_count/*4*/); } /*FI*/return R; } int r7has(T7* C,char a1){ int R=0; R=(r7index_of(C,a1))!=(((((T7*)C))->_count/*4*/)+(1)); return R; } void r7copy(T7* C,T0* a1){ C->_count=(((T7*)((T7*)a1)))->_count/*4*/; /*IF*/if (((((T7*)C))->_count/*4*/)>(0)) { /*IF*/if (((((T7*)C))->_capacity/*8*/)<((((T7*)C))->_count/*4*/)) { C->_storage=calloc((((T7*)C))->_count/*4*/,sizeof(char)); C->_capacity=(((T7*)C))->_count/*4*/; } /*FI*/r9copy_from((((T7*)C))->_storage/*0*/,(((T7*)((T7*)a1)))->_storage/*0*/,((((T7*)C))->_count/*4*/)-(1)); } /*FI*/} /*No:STRING.put*/ /*No:STRING.count*/ void r7to_upper(T7* C){ int _i=0; _i=(((T7*)C))->_count/*4*/; while (!((_i)==(0))) { /*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]=(r3to_upper(/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]/*)*/)); /*]*/ _i=(_i)-(1); } } void r7remove_last(T7* C,int a1){ C->_count=((((T7*)C))->_count/*4*/)-(a1); } int r7index_of(T7* C,char a1){ int R=0; R=(1)+(r9fast_index_of((((T7*)C))->_storage/*0*/,a1,((((T7*)C))->_count/*4*/)-(1))); return R; } void r7append(T7* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { r7extend(C,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/); _i=(_i)+(1); } } /*No:FIXED_ARRAY[STRING].clear_all*/ /*No:FIXED_ARRAY[STRING].set_all_with*/ void r927make(T927* C,int a1){ /*IF*/if ((a1)==(0)) { C->_upper=-(1); } else if (((((T927*)C))->_capacity/*4*/)==(0)) { C->_storage=calloc(a1,sizeof(T0*)); C->_capacity=a1; C->_upper=(a1)-(1); } else if (((((T927*)C))->_capacity/*4*/)<(a1)) { C->_storage=calloc(a1,sizeof(T0*)); C->_capacity=a1; C->_upper=(a1)-(1); } else { C->_upper=(a1)-(1); /*[IRF3.6clear_all*/{T927* C1=C; T0* __value=NULL; /*[IRF3.6set_all_with*/{T927* C2=C1; T0* c1=__value; r400set_all_with((((T927*)C2))->_storage/*0*/,c1,(((T927*)C2))->_upper/*8*/); }/*]*/ }/*]*/ } /*FI*/} /*No:FIXED_ARRAY[STRING].item*/ /*No:FIXED_ARRAY[STRING].storage*/ /*No:FIXED_ARRAY[STRING].capacity*/ /*No:FIXED_ARRAY[STRING].put*/ /*No:FIXED_ARRAY[STRING].upper*/ T0* r52item(T52* C,int a1){ T0* R=NULL; R=((((T52*)C))->_storage/*0*/)[(a1)-((((T52*)C))->_lower/*12*/)]; return R; } /*No:ARRAY[STRING].storage*/ /*No:ARRAY[STRING].capacity*/ /*No:ARRAY[STRING].lower*/ /*No:ARRAY[STRING].upper*/ int r52index_of(T52* C,T0* a1){ int R=0; R=((((T52*)C))->_lower/*12*/)+(r400index_of((((T52*)C))->_storage/*0*/,a1,((((T52*)C))->_upper/*8*/)-((((T52*)C))->_lower/*12*/))); return R; } void r675connect_to(T675* C,T0* a1){ C->_input_stream=fopen(r7to_external(((T7*)a1)),"r"); /*IF*/if ((NULL!=(((T675*)C))->_input_stream/*8*/)) { C->_push_back_flag=0; C->_memory=((unsigned char)'\40'); C->_path=a1; } /*FI*/} T0*oBC762last_string=NULL; /*No:STD_FILE_READ.push_back_flag*/ /*No:STD_FILE_READ.make*/ void r675disconnect(T675* C){ fclose((((T675*)C))->_input_stream/*8*/); C->_path=NULL; } /*No:STD_FILE_READ.path*/ void r675read_character(T675* C){ /*IF*/if ((((T675*)C))->_push_back_flag/*0*/) { C->_push_back_flag=0; } else { C->_memory=getc((FILE*)((((T675*)C))->_input_stream/*8*/)); } /*FI*/} /*No:STD_FILE_READ.is_connected*/ /*No:STD_FILE_READ.last_character*/ void r675read_line_in(T675* C,T0* a1){ int _mem=0; r675read_character(C); _mem=(((T675*)C))->_memory/*12*/; while (!(((_mem)==((EOF)))||((_mem)==(((unsigned char)'\n'))))) { r7extend(((T7*)a1),((char)(_mem))); _mem=getc((FILE*)((((T675*)C))->_input_stream/*8*/)); } C->_memory=_mem; } int r675end_of_input(T675* C){ int R=0; /*IF*/if (!((((T675*)C))->_push_back_flag/*0*/)) { R=((((T675*)C))->_memory/*12*/)==((EOF)); } /*FI*/return R; } void r675read_line(T675* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0); /*]*/ r675read_line_in(C,oBC762last_string); } /*No:STD_FILE_READ.input_stream*/ /*No:STD_FILE_READ.memory*/ /*No:STD_ERROR.make*/ /*No:STD_ERROR.flush*/ void r441put_string(T441* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { /*[IRF3.6put_character*/{T441* C1=C; char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/; putc(b1,((FILE*)(stderr))); }/*]*/ _i=(_i)+(1); } } /*No:STD_ERROR.put_character*/ T0*oBC817tmp_file_read=NULL; /*No:STD_OUTPUT.make*/ void r830append_file(T830* C,T0* a1){ char _c=0; r675connect_to(((T675*)(oBC817tmp_file_read)),a1); r675read_character(((T675*)(oBC817tmp_file_read))); while (!(r675end_of_input(((T675*)(oBC817tmp_file_read))))) { _c=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC817tmp_file_read))))->_memory/*12*/))/*)*/; /*[IRF3.6put_character*/{T830* C1=C; char b1=_c; putc(b1,((FILE*)(stdout))); }/*]*/ r675read_character(((T675*)(oBC817tmp_file_read))); } r675disconnect(((T675*)(oBC817tmp_file_read))); } /*No:STD_OUTPUT.flush*/ void r830put_string(T830* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { /*[IRF3.6put_character*/{T830* C1=C; char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/; putc(b1,((FILE*)(stdout))); }/*]*/ _i=(_i)+(1); } } /*No:STD_OUTPUT.put_character*/ /*No:COMPILE.fz_clean*/ /*No:COMPILE.dos_system*/ /*No:COMPILE.fz_system_se*/ /*No:COMPILE.fz_sys*/ int fBC364x_suffix=0; T0*oBC364x_suffix=NULL; T0* r309x_suffix(T309* C){ if (fBC364x_suffix==0){ T0* R=NULL; fBC364x_suffix=1; /*IF*/if (((((T0*)ms14_364))==((void*)(r309system_name(C))))||((((T0*)ms18_364))==((void*)(r309system_name(C))))) { R=((T0*)ms29_364); } else if ((((T0*)ms16_364))==((void*)(r309system_name(C)))) { R=((T0*)ms30_364); } else if ((((T0*)ms19_364))==((void*)(r309system_name(C)))) { R=((T0*)ms31_364); } else { R=((T0*)ms32_364); } /*FI*/oBC364x_suffix=R;} return oBC364x_suffix;} T0*oBC364tmp_file_read=NULL; void r309more_help(T309* C,T0* a1){ r306w_put_string(((T0*)ms4_364)); r306w_put_string(a1); r306w_put_string(((T0*)ms5_364)); r467read_character(((T467*)(oBC1std_input))); {int z1=/*(IRF4.6last_character*/((char)((((T467*)((T467*)(oBC1std_input))))->_memory/*4*/))/*)*/; if((89==z1)||(121==z1)){ r309print_help(C,a1); } } } /*No:COMPILE.unix_system*/ /*No:COMPILE.fz_compile*/ /*No:COMPILE.exit_failure_code*/ /*No:COMPILE.vms_system*/ T0* r309to_bcn(T0* a1){ T0* R=NULL; char _c=0; int _i=0; R=r7twin(((T7*)a1)); /*IF*/if (r7has_suffix(((T7*)R),((T0*)ms25_364))) { r7remove_last(((T7*)R),2); } /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/; while (!((_i)==(0))) { _c=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if (r3is_letter(_c)) { _i=(_i)-(1); } else if ((_c)==('\137')) { _i=(_i)-(1); } else if (r3is_digit(_c)) { _i=(_i)-(1); } else { r7remove_first(((T7*)R),_i); _i=0; } /*FI*/} r7to_upper(((T7*)R)); return R; } int fBC364small_eiffel_directory=0; T0*oBC364small_eiffel_directory=NULL; T0* r309small_eiffel_directory(T309* C){ if (fBC364small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; fBC364small_eiffel_directory=1; R=r309get_environment_variable(C,((T0*)ms121_470)); /*IF*/if ((R)==((void*)(NULL))) { R=r7twin(((T7*)(((T0*)ms121_470)))); r7to_upper(((T7*)R)); R=r309get_environment_variable(C,R); /*IF*/if ((R)!=((void*)(NULL))) { r7to_upper(((T7*)(((T0*)ms121_470)))); } /*FI*/} /*FI*//*IF*/if ((R)==((void*)(NULL))) { R=((T0*)ms1_364); } /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/; while (!((_i)<(0))) { _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { r7extend(((T7*)R),'\57'); } else if (!((r7last(((T7*)R)))==(_slash))) { r7extend(((T7*)R),_slash); } /*FI*/oBC364small_eiffel_directory=R;} return oBC364small_eiffel_directory;} int fBC364make_suffix=0; T0*oBC364make_suffix=NULL; T0* r309make_suffix(T309* C){ if (fBC364make_suffix==0){ T0* R=NULL; fBC364make_suffix=1; /*IF*/if ((((T0*)ms14_364))==((void*)(r309system_name(C)))) { R=((T0*)ms33_364); } else if ((((T0*)ms19_364))==((void*)(r309system_name(C)))) { R=((T0*)ms34_364); } else if ((((T0*)ms18_364))==((void*)(r309system_name(C)))) { R=((T0*)ms35_364); } else if ((((T0*)ms16_364))==((void*)(r309system_name(C)))) { R=((T0*)ms36_364); } else { R=((T0*)ms37_364); } /*FI*/oBC364make_suffix=R;} return oBC364make_suffix;} void r309automat(T309* C){ T0* _a=NULL; int _arg=0; int _state=0; _arg=1; while (!((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r309command_arguments()))))->_upper/*8*//*)*/))) { _a=r309argument(_arg); /*IF*/if (r7is_equal(ms8_309,_a)) { /*[IRF3.3set_verbose*/((((T306*)(((T306*)(oBC364echo)))))->_verbose)=(1); /*]*/ } /*FI*//*IF*/if (r7is_equal(ms9_309,_a)) { C->_c_code=1; } else { r7extend(((T7*)(oBC309tmp_string)),'\40'); r7append(((T7*)(oBC309tmp_string)),_a); {int z1=_state; if((0==z1)){ /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')) { /*IF*/if (r7has_suffix(((T7*)_a),r309o_suffix(C))) { } else if (r7has_suffix(((T7*)_a),((T0*)ms26_364))) { } else if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\53')) { } else if (((((T309*)C))->_root/*0*/)==((void*)(NULL))) { C->_root=r309to_bcn(_a); r7to_lower(((T7*)((((T309*)C))->_root/*0*/))); _state=2; } /*FI*/} else if (r7is_equal(ms10_309,_a)) { _state=1; } else if (((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55'))&&((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(2)-(1)]/*)*/)==('o'))) { } else if (r7is_equal(ms11_309,_a)) { _state=1; } else if (r7is_equal(ms12_309,_a)) { _state=1; } /*FI*/} else if((1==z1)){ _state=0; } else {_state=0; }} } /*FI*/_arg=(_arg)+(1); } } /*No:COMPILE.amiga_system*/ void r309make(T309* C){ T0* _str=NULL; int _time_out=0; /*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r309command_arguments()))))->_upper/*8*//*)*/)<(1)) { r306w_put_string(((T0*)ms1_309)); r309more_help(C,((T0*)ms82_470)); exit(1); } /*FI*//*IF*/if ((((T0*)ms19_364))==((void*)(r309system_name(C)))) { /*[IRF3.3clear*/((((T7*)(((T7*)(oBC309tmp_string)))))->_count)=(0); /*]*/ } else { r7copy(((T7*)(oBC309tmp_string)),r309small_eiffel_directory(C)); r309add_directory(C,oBC309tmp_string,((T0*)ms77_470)); } /*FI*/r7append(((T7*)(oBC309tmp_string)),((T0*)ms58_473)); r7append(((T7*)(oBC309tmp_string)),r309x_suffix(C)); r309automat(C); /*IF*/if (((((T309*)C))->_root/*0*/)==((void*)(NULL))) { r306w_put_string(((T0*)ms2_309)); exit(1); } /*FI*/_str=r7twin(((T7*)((((T309*)C))->_root/*0*/))); /*IF*/if ((((T0*)ms14_364))==((void*)(r309system_name(C)))) { while (!(((((T7*)((T7*)_str)))->_count/*4*/)<=(4))) { r7remove_last(((T7*)_str),1); } } /*FI*/r7append(((T7*)_str),r309make_suffix(C)); r306file_removing(((T306*)(oBC364echo)),_str); r306call_system(((T306*)(oBC364echo)),oBC309tmp_string); _time_out=2000; while (!(((_time_out)==(0))||(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC309make_file))))->_path/*4*/)!=(NULL)/*)*/))) { r675connect_to(((T675*)(oBC309make_file)),_str); _time_out=(_time_out)-(1); } /*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC309make_file))))->_path/*4*/)!=(NULL)/*)*/)) { r306w_put_string(((T0*)ms135_470)); r306w_put_string(_str); r306w_put_string(((T0*)ms3_309)); exit(1); } /*FI*/r306put_string(((T306*)(oBC364echo)),((T0*)ms4_309)); r306put_string(((T306*)(oBC364echo)),_str); r306put_string(((T306*)(oBC364echo)),((T0*)ms5_309)); r675read_line(((T675*)(oBC309make_file))); while (!(((((T7*)((T7*)(oBC762last_string))))->_count/*4*/)==(0))) { r7copy(((T7*)(oBC309tmp_string)),oBC762last_string); r306call_system(((T306*)(oBC364echo)),oBC309tmp_string); r675read_line(((T675*)(oBC309make_file))); } r675disconnect(((T675*)(oBC309make_file))); /*IF*/if ((((T309*)C))->_c_code/*4*/) { r306put_string(((T306*)(oBC364echo)),((T0*)ms6_309)); } else { /*IF*/if ((((T0*)ms19_364))==((void*)(r309system_name(C)))) { /*[IRF3.3clear*/((((T7*)(((T7*)(oBC309tmp_string)))))->_count)=(0); /*]*/ } else { r7copy(((T7*)(oBC309tmp_string)),r309small_eiffel_directory(C)); r309add_directory(C,oBC309tmp_string,((T0*)ms77_470)); } /*FI*/r7append(((T7*)(oBC309tmp_string)),((T0*)ms80_470)); r7append(((T7*)(oBC309tmp_string)),r309x_suffix(C)); r7extend(((T7*)(oBC309tmp_string)),'\40'); /*IF*/if ((((T306*)((T306*)(oBC364echo))))->_verbose/*0*/) { r7append(((T7*)(oBC309tmp_string)),((T0*)ms7_309)); } /*FI*/r7append(((T7*)(oBC309tmp_string)),(((T309*)C))->_root/*0*/); r306call_system(((T306*)(oBC364echo)),oBC309tmp_string); } /*FI*/r306put_string(((T306*)(oBC364echo)),((T0*)ms136_470)); } /*No:COMPILE.help_suffix*/ T0*oBC364help_file_name=NULL; /*No:COMPILE.fz_bin*/ void r309add_directory(T309* C,T0* a1,T0* a2){ /*IF*/if ((((T0*)ms17_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms19_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms15_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\72'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\72'); } else if ((((T0*)ms14_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms16_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms13_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms18_364))==((void*)(r309system_name(C)))) { r7set_last(((T7*)a1),'\135'); r7remove_last(((T7*)a1),1); r7set_last(((T7*)a1),'\56'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\135'); } /*FI*/} T670 oBC1file_tools=0; T0*oBC1std_output=NULL; T0*oBC309make_file=NULL; /*No:COMPILE.windows_system*/ T0*oBC364echo=NULL; /*No:COMPILE.fz_01*/ /*No:COMPILE.us_compile_to_c*/ /*No:COMPILE.fz_02*/ T0* r309get_environment_variable(T309* C,T0* a1){ T0* R=NULL; void* _p=0; _p=r7to_external(((T7*)a1)); R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p)); return R; } void r309print_help(T309* C,T0* a1){ r7copy(((T7*)(oBC364help_file_name)),r309small_eiffel_directory(C)); r309add_directory(C,oBC364help_file_name,((T0*)ms2_364)); r7append(((T7*)(oBC364help_file_name)),a1); /*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) { r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364)); } /*FI*//*IF*/if (!(r309file_exists(oBC364help_file_name))) { r306w_put_string(((T0*)ms3_364)); r306w_put_string(oBC364help_file_name); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name); } int fBC1command_arguments=0; T0*oBC1command_arguments=NULL; T0* r309command_arguments(void){ if (fBC1command_arguments==0){ T0* R=NULL; T0* _arg=NULL; int _i=0; fBC1command_arguments=1; _i=se_argc; {T927*n=malloc(sizeof(*n)); *n=M927; r927make(n,_i); R=(T0*)n; } while (!((_i)==(0))) { _i=(_i)-(1); _arg=((T0*)e2s(se_argv[_i])); /*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg); /*]*/ } oBC1command_arguments=R;} return oBC1command_arguments;} T0*oBC364system_list=NULL; T0*oBC1std_input=NULL; int fBC364system_name=0; T0*oBC364system_name=NULL; T0* r309system_name(T309* C){ if (fBC364system_name==0){ T0* R=NULL; int _i=0; fBC364system_name=1; r7copy(((T7*)(oBC364tmp_path)),r309small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) { r7set_last(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r309small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) { r7set_last(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r309small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) { r7set_last(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r309small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) { r7set_last(((T7*)(oBC364tmp_path)),'\135'); r7remove_last(((T7*)(oBC364tmp_path)),1); r7extend(((T7*)(oBC364tmp_path)),'\56'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\135'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r309small_eiffel_directory(C)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r306w_put_string(((T0*)ms20_364)); r306w_put_string(((T0*)ms127_470)); r306w_put_string(((T0*)ms21_364)); r306w_put_string(r309small_eiffel_directory(C)); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r675read_line(((T675*)(oBC364tmp_file_read))); R=oBC762last_string; _i=r52index_of(((T52*)(oBC364system_list)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) { r306w_put_string(((T0*)ms22_364)); r306w_put_string(oBC364tmp_path); r306w_put_string(((T0*)ms23_364)); _i=1; while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) { r306w_put_string(r52item(((T52*)(oBC364system_list)),_i)); r306w_put_character('\n'); _i=(_i)+(1); } } else { R=r52item(((T52*)(oBC364system_list)),_i); r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364)); r306put_string(((T306*)(oBC364echo)),R); r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470)); } /*FI*/oBC364system_name=R;} return oBC364system_name;} /*No:COMPILE.fz_b0*/ T0*oBC364tmp_path=NULL; T0*oBC309tmp_string=NULL; /*No:COMPILE.c_code*/ /*No:COMPILE.fz_se*/ /*No:COMPILE.os2_system*/ /*No:COMPILE.root*/ int r309file_exists(T0* a1){ int R=0; R=r670is_readable(a1); return R; } /*No:COMPILE.argument_count*/ /*No:COMPILE.macintosh_system*/ /*No:COMPILE.eiffel_suffix*/ /*No:COMPILE.c_suffix*/ T0* r309argument(int a1){ T0* R=NULL; R=/*(IRF4.6item*/((((T927*)((T927*)(r309command_arguments()))))->_storage/*0*/)[a1]/*)*/; return R; } int fBC364o_suffix=0; T0*oBC364o_suffix=NULL; T0* r309o_suffix(T309* C){ if (fBC364o_suffix==0){ T0* R=NULL; T0* _sn=NULL; fBC364o_suffix=1; _sn=r309system_name(C); {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,4); R=(T0*)n; } r7copy(((T7*)(oBC364tmp_path)),r309small_eiffel_directory(C)); r309add_directory(C,oBC364tmp_path,((T0*)ms126_470)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms28_364)); r7append(((T7*)(oBC364tmp_path)),_sn); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); r675read_line_in(((T675*)(oBC364tmp_file_read)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); oBC364o_suffix=R;} return oBC364o_suffix;} /*No:STD_INPUT.push_back_flag*/ /*No:STD_INPUT.make*/ void r467read_character(T467* C){ /*IF*/if ((((T467*)C))->_push_back_flag/*0*/) { C->_push_back_flag=0; } else { C->_memory=getc((FILE*)(stdin)); } /*FI*/} /*No:STD_INPUT.last_character*/ /*No:STD_INPUT.memory*/ /*No:FILE_TOOLS.delete*/ T0*oBC670std_fr1=NULL; int r670is_readable(T0* a1){ int R=0; r675connect_to(((T675*)(oBC670std_fr1)),a1); R=/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr1))))->_path/*4*/)!=(NULL)/*)*/; /*IF*/if (R) { r675disconnect(((T675*)(oBC670std_fr1))); } /*FI*/return R; } /*No:ECHO.make*/ void r306system(T0* a1){ void* _p=0; _p=r7to_external(((T7*)a1)); system(((char*)_p));} /*No:ECHO.verbose*/ T0*oBC1std_error=NULL; void r306file_removing(T306* C,T0* a1){ /*IF*/if (r306file_exists(a1)) { r306put_string(C,((T0*)ms1_306)); r306put_string(C,a1); r306put_string(C,((T0*)ms2_306)); /*[IRF3.6remove_file*/{T0* b1=a1; /*[IRF3.6delete*/{T0* c1=b1; remove(((char*)r7to_external(((T7*)c1)))); }/*]*/ }/*]*/ } /*FI*/} /*No:ECHO.remove_file*/ void r306sfr_connect(T306* C,T0* a1,T0* a2){ r306put_string(C,((T0*)ms3_306)); r306put_string(C,a2); r306put_string(C,((T0*)ms4_306)); r675connect_to(((T675*)a1),a2); } void r306put_string(T306* C,T0* a1){ /*IF*/if ((((T306*)C))->_verbose/*0*/) { r830put_string(((T830*)(oBC1std_output)),a1); /*[IRF3.6flush*/{T830* C1=((T830*)(oBC1std_output)); fflush(stdout); }/*]*/ } /*FI*/} /*No:ECHO.fz_18*/ void r306w_put_string(T0* a1){ r441put_string(((T441*)(oBC1std_error)),a1); /*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error)); fflush(stderr); }/*]*/ } int r306file_exists(T0* a1){ int R=0; R=r670is_readable(a1); return R; } void r306call_system(T306* C,T0* a1){ r306put_string(C,((T0*)ms5_306)); r306put_string(C,a1); r306put_string(C,((T0*)ms152_470)); r306system(a1); } void r306w_put_character(char a1){ /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=a1; putc(b1,((FILE*)(stderr))); }/*]*/ /*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error)); fflush(stderr); }/*]*/ } /*No:ECHO.set_verbose*/ /*No:BOOLEAN_REF.item*/ int se_argc; char**se_argv; int main(int argc,char*argv[]){ se_initialize(); { T309*n=malloc(sizeof(*n)); *n=M309; se_argc=argc; se_argv=argv; #ifdef SIGINT signal(SIGINT,sigrsp); #endif #ifdef SIGQUIT signal(SIGQUIT,sigrsp); #endif #ifdef SIGTERM signal(SIGTERM,sigrsp); #endif #ifdef SIGBREAK signal(SIGBREAK,sigrsp); #endif #ifdef SIGKILL signal(SIGKILL,sigrsp); #endif se_msi1(); se_msi2(); se_msi3(); {T0* R=NULL; {T830*n=malloc(1); /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC1std_output=R;}/*PCO*/ {int R=0; oBC1file_tools=R;}/*PCO*/ {T0* R=NULL; {T441*n=malloc(1); /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC1std_error=R;}/*PCO*/ {T0* R=NULL; {T675*n=malloc(sizeof(*n)); *n=M675; /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC670std_fr1=R;}/*PCO*/ {T0* R=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,256); R=(T0*)n; } oBC309tmp_string=R;}/*PCO*/ {T0* R=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,256); R=(T0*)n; } oBC364tmp_path=R;}/*PCO*/ {T0* R=NULL; {T467*n=malloc(sizeof(*n)); *n=M467; /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC1std_input=R;}/*PCO*/ {T0* R=NULL; R=se_ma52(7,((T0*)ms13_364),((T0*)ms14_364),((T0*)ms15_364),((T0*)ms16_364),((T0*)ms17_364),((T0*)ms18_364),((T0*)ms19_364)); oBC364system_list=R;}/*PCO*/ {T0* R=NULL; {T306*n=malloc(sizeof(*n)); *n=M306; /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC364echo=R;}/*PCO*/ {T0* R=NULL; {T675*n=malloc(sizeof(*n)); *n=M675; /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC309make_file=R;}/*PCO*/ {T0* R=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,256); R=(T0*)n; } oBC364help_file_name=R;}/*PCO*/ {T0* R=NULL; {T675*n=malloc(sizeof(*n)); *n=M675; /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC364tmp_file_read=R;}/*PCO*/ {T0* R=NULL; {T675*n=malloc(sizeof(*n)); *n=M675; /*[IRF3.1make*//*]*/ R=(T0*)n; } oBC817tmp_file_read=R;}/*PCO*/ {T0* R=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,256); R=(T0*)n; } oBC762last_string=R;}/*PCO*/ r309make(n); exit(0);}} T7*ms1_309; T7*ms82_470; T7*ms4_364; T7*ms5_364; T7*ms2_364; T7*ms39_364; T7*ms3_364; T7*ms58_473; T7*ms8_309; T7*ms12_309; T7*ms11_309; T7*ms10_309; T7*ms25_364; T7*ms26_364; T7*ms28_364; T7*ms9_309; T7*ms2_309; T7*ms37_364; T7*ms36_364; T7*ms35_364; T7*ms34_364; T7*ms33_364; T7*ms1_306; T7*ms2_306; T7*ms135_470; T7*ms3_309; T7*ms4_309; T7*ms5_309; T7*ms77_470; T7*ms80_470; T7*ms32_364; T7*ms31_364; T7*ms30_364; T7*ms29_364; T7*ms126_470; T7*ms3_306; T7*ms4_306; T7*ms20_364; T7*ms127_470; T7*ms21_364; T7*ms121_470; T7*ms1_364; T7*ms24_364; T7*ms242_470; T7*ms22_364; T7*ms23_364; T7*ms13_364; T7*ms15_364; T7*ms16_364; T7*ms17_364; T7*ms18_364; T7*ms19_364; T7*ms14_364; T7*ms7_309; T7*ms5_306; T7*ms152_470; T7*ms6_309; T7*ms136_470; void se_msi1(void){ ms1_309=se_ms(30,"Bad use of command `compile\'.\n"); ms82_470=se_ms(7,"compile"); ms4_364=se_ms(20,"Type help file for :"); ms5_364=se_ms(9," (y/n) ? "); ms2_364=se_ms(3,"man"); ms39_364=se_ms(4,".txt"); ms3_364=se_ms(26,"Unable to find help file \""); ms58_473=se_ms(12,"compile_to_c"); ms8_309=se_ms(8,"-verbose"); ms12_309=se_ms(6,"-cecil"); ms11_309=se_ms(3,"-cc"); ms10_309=se_ms(2,"-o"); ms25_364=se_ms(2,".e"); ms26_364=se_ms(2,".c"); ms28_364=se_ms(9,"o_suffix."); ms9_309=se_ms(7,"-c_code"); ms2_309=se_ms(41,"Error : No <Root-Class> in command line.\n"); ms37_364=se_ms(5,".make"); ms36_364=se_ms(4,".CMD"); ms35_364=se_ms(4,".COM"); } void se_msi2(void){ ms34_364=se_ms(4,".bat"); ms33_364=se_ms(4,".BAT"); ms1_306=se_ms(10,"Removing \""); ms2_306=se_ms(2,"\"\n"); ms135_470=se_ms(6,"File \""); ms3_309=se_ms(45,"\" not found. Error(s) during `compile_to_c\'.\n"); ms4_309=se_ms(19,"C compiling using \""); ms5_309=se_ms(16,"\" command file.\n"); ms77_470=se_ms(3,"bin"); ms80_470=se_ms(5,"clean"); ms32_364=se_ms(0,""); ms31_364=se_ms(4,".exe"); ms30_364=se_ms(4,".exe"); ms29_364=se_ms(4,".EXE"); ms126_470=se_ms(3,"sys"); ms3_306=se_ms(18,"Try to read file \""); ms4_306=se_ms(3,"\".\n"); ms20_364=se_ms(21,"Unable to find file\n\""); ms127_470=se_ms(9,"system.se"); ms21_364=se_ms(14,"\" using path \""); } void se_msi3(void){ ms121_470=se_ms(11,"SmallEiffel"); ms1_364=se_ms(31,"/usr/local/logiciel/SmallEiffel"); ms24_364=se_ms(11,"System is \""); ms242_470=se_ms(3,"\".\n"); ms22_364=se_ms(29,"Unknown system name in file\n\""); ms23_364=se_ms(36,"\".\nCurrently handled system names :\n"); ms13_364=se_ms(5,"Amiga"); ms15_364=se_ms(9,"Macintosh"); ms16_364=se_ms(3,"OS2"); ms17_364=se_ms(4,"UNIX"); ms18_364=se_ms(3,"VMS"); ms19_364=se_ms(7,"Windows"); ms14_364=se_ms(3,"DOS"); ms7_309=se_ms(9,"-verbose "); ms5_306=se_ms(13,"System call \""); ms152_470=se_ms(2,"\"\n"); ms6_309=se_ms(30,"C code not removed (-c_code).\n"); ms136_470=se_ms(6,"Done.\n"); } T7*se_ms(int c,char*e){ T7*s=malloc(sizeof(T7)); s->_count=c; s->_capacity=c+1; s->_storage=malloc(c+1); memcpy(s->_storage,e,c); return s;} T7*e2s(char*e){ return se_ms(strlen(e),e);} char*s2e(T7*s){ char*e=malloc(1+s->_count); memcpy(e,s->_storage,s->_count); e[s->_count]='\0'; return e;} void*se_ma52(int argc,...){ T52*m; va_list pa; T0**s; m=malloc(sizeof(*m)); *m=M52; if(argc){ s=malloc(argc*sizeof(*s)); m->_storage=s; m->_capacity=argc; m->_lower=1; m->_upper=argc; va_start(pa,argc); while(argc--){ *(s++)=((void*)(va_arg(pa,char*))); } va_end(pa); } return m;} void rsp(void){ printf("Eiffel program crash at run time.\n"); printf("No trace when using option \"-boost\"\n");} void sigrsp(int sig){ printf("Received signal %d (man signal).\n",sig); rsp(); exit(1);} void se_initialize(void){ }